package com.pai4j.message.config;

import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;

/**
 * Email发送配置属性
 *
 * @author PAI4J Team
 * @date 2025-11-01
 */
@Data
@ConfigurationProperties(prefix = "pai4j.message.email")
public class EmailProperties {

    /**
     * 是否启用Email发送
     */
    private boolean enabled = false;

    /**
     * SMTP服务器地址
     */
    private String host = "smtp.example.com";

    /**
     * SMTP服务器端口
     */
    private int port = 587;

    /**
     * 发送邮箱账号
     */
    private String username;

    /**
     * 发送邮箱密码/授权码
     */
    private String password;

    /**
     * 发件人邮箱地址
     */
    private String from = "noreply@pai4j.com";

    /**
     * 发件人名称
     */
    private String fromName = "PAI4J";

    /**
     * 是否启用SSL
     */
    private boolean sslEnabled = false;

    /**
     * 是否启用STARTTLS
     */
    private boolean starttlsEnabled = true;

    /**
     * 连接超时时间（毫秒）
     */
    private int connectionTimeout = 5000;

    /**
     * 读取超时时间（毫秒）
     */
    private int timeout = 5000;

    /**
     * 写入超时时间（毫秒）
     */
    private int writeTimeout = 5000;

    /**
     * 是否启用调试模式
     */
    private boolean debug = false;

    /**
     * 默认字符编码
     */
    private String encoding = "UTF-8";

    /**
     * 是否异步发送
     */
    private boolean async = true;

    /**
     * 邮件模板路径
     */
    private String templatePath = "classpath:/email-templates/";

    /**
     * 是否启用HTML格式
     */
    private boolean htmlEnabled = true;
}

